1 About

1.1 Report circulation:

  • Public

1.2 License

1.3 Citation

If you wish to use any of the material from this report please cite as:

  • Anderson, B. (2019) New Zealand Electricity Ripple Control Analysis. Centre for Sustainability, University of Otago: Dunedin, New Zealand.

This work is (c) 2019 the University of Southampton.

1.4 History

1.5 Support

This work was supported by:

We do not ‘support’ the code but if you notice a problem please check the issues on our repo and if it doesn’t already exist, please open a new one.

2 Introduction

Report purpose:

  • provides summary analysis of hot water ripple control availability in New Zealand. Availability does not necessarily mean it is actually in use…

4 Load control

Table 4.1 shows ariables available under load control.

Table 4.1: Available variables (Load control)
Var1 Freq
Estimated number of distributed batteries that the EDB does not have the ability to use for load control 145
Estimated number of ICPs with ripple control 145
Load control capacity from demand response contracts 145
Load control capacity from distributed batteries 145
Load control capacity from other load control 145
Load control capacity from ripple control 145
Number of demand response contracts 145
Number of distributed batteries that the EDB can use for load control 145
Number of ICPs with other load control 145
Supply capacity from demand response contracts 145
Supply capacity of distributed batteries 145
Supply capacity of other load control 145

4.1 Prevalence of ripple control

To calculate this we use Estimated number of ICPs with ripple control (from https://comcom.govt.nz/__data/assets/excel_doc/0014/100670/Electricity-distribution-businesses-emerging-technology-data-10-October-2018.xlsx) and the total number of ICPs for each EDB recorded in the performance data (https://comcom.govt.nz/__data/assets/excel_doc/0016/105253/Performance-summaries-for-electricity-distributors-Year-to-31-March-2018.XLSX).

## Warning in eval(jsub, SDenv, parent.frame()): NAs introduced by coercion

Note that not all EDBs reported ripple control data in all years. This means that the overall % of ICPs with ripple control is uncertain as we cannot assume necessarily assume that EDBs who did not provide ripple control data do not actually have ripple control on some ICPs.

Table 4.2 is calculated using only those EDBs who reported ripple control data and Figure 4.1 shows the skewed distribution. As we can see the national mean value is not a good representation.

## Warning: Removed 78 rows containing non-finite values (stat_density).
Density plot of % ICPs with ripple control by year

Figure 4.1: Density plot of % ICPs with ripple control by year

Table 4.2: % ICPs with ripple control by year (excludes ripple control non-reporting EDBs)
Year Min % across EDBs reporting Mean % across EDBs reporting Median % across EDBs reporting Max % across EDBs reporting Total_ICPs Total_rcICPs % across all ICPs for reporting EDBs
2014 12.16 68.34 73.38 85.64 1947800 1266008 65.00
2015 12.09 65.55 71.46 85.34 2029155 1127310 55.56
2016 12.03 65.21 71.42 84.94 2047355 1122639 54.83
2017 12.05 65.16 71.41 84.65 2068911 1130894 54.66
2018 12.01 64.70 70.59 84.23 2090530 1122218 53.68

Table 4.3 on the other hand shows the results where we treat the EDBs who did not report ripple control ICPs as having 0. As we can see this produces lower estimates for the national level figure per year.

Table 4.3: % ICPs with ripple control by year (treats ripple control non-reporting EDBs as 0)
Year Min % across EDBs reporting Mean % across EDBs reporting Median % across EDBs reporting Max % across EDBs reporting Total_ICPs Total_rcICPs % across all ICPs (treats non-reports as 0)
2012 Inf NaN NA -Inf 2431891 NA NA
2013 Inf NaN NA -Inf 2379550 NA NA
2014 12.16 68.34 73.38 85.64 2394783 1277381 53.34
2015 12.09 65.55 71.46 85.34 2419269 1138891 47.08
2016 12.03 65.21 71.42 84.94 2435824 1134443 46.57
2017 12.05 65.16 71.41 84.65 2462253 1142832 46.41
2018 12.01 64.70 70.59 84.23 2489004 1134301 45.57

Figure 4.2 shows the distribution over time for each EDB that reported ripple control. This distribution reflects that shown in Figure 4.1.

Table 4.4: Mean % ICPs with ripple control by EDB
orgName Mean % Min % Max % Max total n ICPs
Vector 46.35 38.51 71.91 557,490.00
ID only NaN Inf -Inf 379,257.06
Powerco 57.30 52.95 63.62 337,134.50
Orion 82.53 82.14 82.95 199,838.00
Wellington Electricity 12.07 12.01 12.16 166,909.58
Electra 69.77 65.64 75.81 115,315.17
Unison 71.93 69.93 74.43 112,781.00
WEL Networks 26.14 25.33 27.20 90,601.00
Aurora Energy 77.40 75.82 78.76 88,588.10
Northpower 60.22 59.48 61.10 58,430.00
Mainpower 77.15 68.78 80.95 42,698.00
Counties Power 77.46 76.97 77.84 41,704.00
Network Tasman 84.96 84.23 85.64 39,578.00
The Power Company 60.99 58.90 62.92 35,698.00
Alpine Energy 69.22 68.49 69.70 32,975.00
Top Energy 73.45 72.56 73.97 31,641.00
Waipa Networks 72.43 71.24 73.38 26,077.00
Eastland Network 58.33 56.56 59.83 25,556.00
Marlborough Lines 76.44 74.71 77.98 25,374.08
Horizon Energy 77.47 74.72 81.33 25,000.00
The Lines Company 72.04 71.13 73.49 23,768.00
EA Networks NaN Inf -Inf 19,216.58
Electricity Invercargill 72.04 69.74 73.94 17,404.00
OtagoNet 39.90 39.23 40.38 16,000.00
Westpower 69.53 68.76 70.49 13,526.00
Network Waitaki 75.03 72.93 77.99 12,814.00
Nelson Electricity 79.99 79.27 80.81 9,214.00
Centralines 51.42 50.79 51.99 8,561.00
Scanpower 71.23 71.12 71.43 6,805.00
Buller Electricity 72.99 71.65 74.86 4,624.00
Electricity Ashburton NaN Inf -Inf -Inf

Figure 4.2: % ripple control trend plot by EDB

4.2 Ripple control load control capacity

-> Load control capacity from ripple control

## Warning in eval(jsub, SDenv, parent.frame()): NAs introduced by coercion
Table 4.5: MW ripple controlled by year (over EDBs)
Year Mean MW Min MW Max MW
2014 30.61 1 206.51
2015 29.75 1 190.72
2016 29.61 1 184.42
2017 29.88 1 186.63
2018 29.64 1 178.52

Table 4.6 shows which EDBs did not submit MW capacity data.

Table 4.6: Missing MW capacity (1 = missing data)
2014 2015 2016 2017 2018
Electricity Invercargill 1 0 0 0 0
OtagoNet 1 0 0 0 0
The Power Company 1 0 0 0 0
Vector 1 1 1 1 1
## Warning in gmin(mw, na.rm = TRUE): No non-missing values found in at least
## one group. Returning 'Inf' for such groups to be consistent with base
## Warning in gmax(mw, na.rm = TRUE): No non-missing values found in at least
## one group. Returning '-Inf' for such groups to be consistent with base
Table 4.7: MW ripple control by EDB
orgName Mean Min Max
Powerco 189.36 178.52 206.51
Orion 150.00 150.00 150.00
Alpine Energy 56.59 55.46 57.73
Wellington Electricity 50.00 50.00 50.00
WEL Networks 45.90 45.00 47.00
The Power Company 43.23 42.05 44.16
Aurora Energy 38.19 37.89 38.49
Electricity Invercargill 25.02 24.27 25.61
Counties Power 24.69 23.72 25.68
Electra 23.93 23.21 24.48
Eastland Network 18.02 18.02 18.02
Waipa Networks 17.46 16.90 18.00
The Lines Company 17.20 15.26 19.54
Electricity Ashburton 15.71 15.20 16.14
Mainpower 14.88 14.36 15.32
Network Tasman 14.74 14.50 15.00
Northpower 14.70 14.10 15.30
Unison 14.00 14.00 14.00
OtagoNet 12.34 11.77 12.92
Top Energy 12.00 12.00 12.00
Marlborough Lines 9.27 9.23 9.32
Network Waitaki 7.10 7.10 7.10
Horizon Energy 5.77 5.54 6.10
Westpower 4.00 4.00 4.00
Buller Electricity 3.80 3.80 3.80
Nelson Electricity 3.00 3.00 3.00
Scanpower 3.00 3.00 3.00
Centralines 1.00 1.00 1.00
Vector NaN Inf -Inf

4.3 Demand response contracts

Load control capacity from demand response contracts

## Warning in eval(jsub, SDenv, parent.frame()): NAs introduced by coercion
Table 4.8: MW demand response contracts by year (over EDBs)
Year Mean MW Min MW Max MW
2014 0.19 0 5.45
2015 0.19 0 5.45
2016 0.19 0 5.45
2017 0.19 0 5.45
2018 0.19 0 5.45
## Warning in gmin(mw, na.rm = TRUE): No non-missing values found in at least
## one group. Returning 'Inf' for such groups to be consistent with base
## Warning in gmax(mw, na.rm = TRUE): No non-missing values found in at least
## one group. Returning '-Inf' for such groups to be consistent with base
(#tab:dr_mWtrendPlot)MW demand response contracts by EDB
orgName Mean Min Max
Electra 5.45 5.45 5.45
Alpine Energy 0.00 0.00 0.00
Aurora Energy 0.00 0.00 0.00
Buller Electricity 0.00 0.00 0.00
Centralines 0.00 0.00 0.00
Counties Power 0.00 0.00 0.00
Eastland Network 0.00 0.00 0.00
Electricity Ashburton 0.00 0.00 0.00
Electricity Invercargill 0.00 0.00 0.00
Horizon Energy 0.00 0.00 0.00
Mainpower 0.00 0.00 0.00
Nelson Electricity 0.00 0.00 0.00
Network Tasman 0.00 0.00 0.00
Network Waitaki 0.00 0.00 0.00
Northpower 0.00 0.00 0.00
Orion 0.00 0.00 0.00
OtagoNet 0.00 0.00 0.00
Powerco 0.00 0.00 0.00
Scanpower 0.00 0.00 0.00
The Lines Company 0.00 0.00 0.00
The Power Company 0.00 0.00 0.00
Top Energy 0.00 0.00 0.00
Unison 0.00 0.00 0.00
Vector 0.00 0.00 0.00
WEL Networks 0.00 0.00 0.00
Waipa Networks 0.00 0.00 0.00
Wellington Electricity 0.00 0.00 0.00
Westpower 0.00 0.00 0.00
Marlborough Lines NaN Inf -Inf

4.4 Distirbuted batteries

Load control capacity from distributed batteries

## Warning in eval(jsub, SDenv, parent.frame()): NAs introduced by coercion
Table 4.9: MW Load control capacity from distributed batteries by year (over EDBs)
Year Mean MW Min MW Max MW
2014 0.03 0 0.88
2015 0.05 0 1.37
2016 0.05 0 1.38
2017 0.08 0 2.15
2018 0.10 0 2.71
## Warning in gmin(mw, na.rm = TRUE): No non-missing values found in at least
## one group. Returning 'Inf' for such groups to be consistent with base
## Warning in gmax(mw, na.rm = TRUE): No non-missing values found in at least
## one group. Returning '-Inf' for such groups to be consistent with base
(#tab:bat_mWtrendPlot)MW Load control capacity from distributed batteries by EDB
orgName Mean Min Max
Vector 1.70 0.88 2.71
Unison 0.02 0.01 0.02
Wellington Electricity 0.01 0.00 0.04
Alpine Energy 0.00 0.00 0.00
Aurora Energy 0.00 0.00 0.00
Buller Electricity 0.00 0.00 0.00
Centralines 0.00 0.00 0.00
Counties Power 0.00 0.00 0.00
Eastland Network 0.00 0.00 0.00
Electra 0.00 0.00 0.00
Electricity Ashburton 0.00 0.00 0.00
Electricity Invercargill 0.00 0.00 0.00
Horizon Energy 0.00 0.00 0.00
Mainpower 0.00 0.00 0.00
Nelson Electricity 0.00 0.00 0.00
Network Tasman 0.00 0.00 0.00
Network Waitaki 0.00 0.00 0.00
Northpower 0.00 0.00 0.00
Orion 0.00 0.00 0.00
OtagoNet 0.00 0.00 0.00
Powerco 0.00 0.00 0.00
Scanpower 0.00 0.00 0.00
The Lines Company 0.00 0.00 0.00
The Power Company 0.00 0.00 0.00
Top Energy 0.00 0.00 0.00
WEL Networks 0.00 0.00 0.00
Waipa Networks 0.00 0.00 0.00
Westpower 0.00 0.00 0.00
Marlborough Lines NaN Inf -Inf

5 Runtime

Analysis completed in 4.92 seconds ( 0.08 minutes) using knitr in RStudio with R version 3.5.2 (2018-12-20) running on x86_64-apple-darwin15.6.0.

6 R environment

6.1 R packages used

  • base R (R Core Team 2016)
  • bookdown (Xie 2016a)
  • data.table (Dowle et al. 2015)
  • ggplot2 (Wickham 2009)
  • readxl (Wickham and Bryan 2017)
  • kableExtra (Zhu 2018)
  • knitr (Xie 2016b)
  • rmarkdown (Allaire et al. 2018)

6.2 Session info

## R version 3.5.2 (2018-12-20)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.6
## 
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] en_NZ.UTF-8/en_NZ.UTF-8/en_NZ.UTF-8/C/en_NZ.UTF-8/en_NZ.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] readxl_1.3.1      readr_1.3.1       plotly_4.9.0      lubridate_1.7.4  
## [5] kableExtra_1.1.0  ggplot2_3.1.1     data.table_1.12.2 GREENGrid_0.1.0  
## 
## loaded via a namespace (and not attached):
##  [1] tidyselect_0.2.5  xfun_0.7          purrr_0.3.2      
##  [4] reshape2_1.4.3    colorspace_1.4-1  htmltools_0.3.6  
##  [7] viridisLite_0.3.0 yaml_2.2.0        rlang_0.3.4      
## [10] later_0.8.0       pillar_1.4.1      glue_1.3.1       
## [13] withr_2.1.2       plyr_1.8.4        stringr_1.4.0    
## [16] munsell_0.5.0     gtable_0.3.0      cellranger_1.1.0 
## [19] rvest_0.3.3       htmlwidgets_1.3   evaluate_0.13    
## [22] labeling_0.3      knitr_1.23        httpuv_1.5.1     
## [25] crosstalk_1.0.0   highr_0.8         Rcpp_1.0.1       
## [28] xtable_1.8-4      promises_1.0.1    scales_1.0.0     
## [31] webshot_0.5.1     jsonlite_1.6      mime_0.6         
## [34] hms_0.4.2         digest_0.6.19     stringi_1.4.3    
## [37] bookdown_0.10     dplyr_0.8.1       shiny_1.3.2      
## [40] grid_3.5.2        tools_3.5.2       magrittr_1.5     
## [43] lazyeval_0.2.2    tibble_2.1.2      crayon_1.3.4     
## [46] tidyr_0.8.3       pkgconfig_2.0.2   xml2_1.2.0       
## [49] assertthat_0.2.1  rmarkdown_1.13    httr_1.4.0       
## [52] rstudioapi_0.10   R6_2.4.0          compiler_3.5.2

References

Allaire, JJ, Yihui Xie, Jonathan McPherson, Javier Luraschi, Kevin Ushey, Aron Atkins, Hadley Wickham, Joe Cheng, and Winston Chang. 2018. Rmarkdown: Dynamic Documents for R. https://CRAN.R-project.org/package=rmarkdown.

Dowle, M, A Srinivasan, T Short, S Lianoglou with contributions from R Saporta, and E Antonyan. 2015. Data.table: Extension of Data.frame. https://CRAN.R-project.org/package=data.table.

R Core Team. 2016. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.

Wickham, Hadley. 2009. Ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. http://ggplot2.org.

Wickham, Hadley, and Jennifer Bryan. 2017. Readxl: Read Excel Files. https://CRAN.R-project.org/package=readxl.

Xie, Yihui. 2016a. Bookdown: Authoring Books and Technical Documents with R Markdown. Boca Raton, Florida: Chapman; Hall/CRC. https://github.com/rstudio/bookdown.

———. 2016b. Knitr: A General-Purpose Package for Dynamic Report Generation in R. https://CRAN.R-project.org/package=knitr.

Zhu, Hao. 2018. KableExtra: Construct Complex Table with ’Kable’ and Pipe Syntax. https://CRAN.R-project.org/package=kableExtra.